package org.gruposp2p.proyectokarma.controller


import org.springframework.web.multipart.MultipartHttpServletRequest
import org.springframework.web.multipart.MultipartFile;
import java.nio.charset.Charset
import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH

class CmsController {
	
	private static String nombreEntidadFirmada = "ArchivoFirmado"
	
	def lanzadorService
	def motorDeFirmasService

	def salvarArchivoFirmado = {	
		if (!(request instanceof MultipartHttpServletRequest)) {
			response.status = 404;
			render "Servicio no encontrado"
			return
		}
		MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
		MultipartFile multipartFile = multipartRequest.getFile(nombreEntidadFirmada);
		if (multipartFile?.getBytes() != null) {
			def result =  motorDeFirmasService.validarFirma(multipartRequest.getFile(nombreEntidadFirmada).getBytes())
			if (result) {
				response.status = 201
				//The receipt
				render motorDeFirmasService.obtenerCadenaFirmada(new String(multipartFile.getBytes()))
				return
			} else {
				response.status = 400
				render "Error en el documento firmado"
				return
			}
		} else {
			log.debug "No se ha encontrado archivo para procesar"
			render "No se ha encontrado archivo para procesar"
			return
		}
		
	}
	
}